package com.muyu.fence.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.fence.domain.database.ElectronicFence;
import com.muyu.fence.domain.req.ElectroicFenceAddReq;
import com.muyu.fence.domain.req.ElectroicFenceListReq;
import com.muyu.fence.domain.resp.ElectronicFenceResp;

import java.util.List;

/**
 * @Author：yuping
 * @Package：com.muyu.fence.service
 * @Project：cloud-server
 * @name：ElectronicFenceService
 * @Date：2024/9/17 19:29
 */

public interface ElectronicFenceService extends IService<ElectronicFence> {
    /**
     * 围栏列表
     * @param electroicFenceListReq
     * @return
     */
    List<ElectronicFenceResp> fenceselectList(ElectroicFenceListReq electroicFenceListReq);

    /**
     * 添加围栏
     * @param electroicFenceAddReq
     */
    void AddFence(ElectroicFenceAddReq electroicFenceAddReq);

    /**
     * 根据id回显围栏
     *
     * @param id
     * @return
     */
    ElectronicFence findElectronicByid(Long id);

    /**
     * 根据id删除围栏围栏
     * @param id
     */
    void delElectronById(Long id);

    /**
     * 开启围栏
     * @param id
     */
    void openFence(Long id);

    /**
     * 关闭围栏
     * @param id
     */
    void closeFence(Long id);

    /**
     * 根据id设置围栏的经纬度
     * @param id
     * @param longitudeLatitude
     */
    void setFenceWay(Long id, String longitudeLatitude);

    /**
     * 获取所有可用围栏
     * @return
     */


    List<ElectronicFenceResp> fenceArray();

    void unquireFence(String name);

    List<ElectronicFenceResp> selectListByIds(List<Long> ids);
}
